Servo control system equipped with learning control apparatus having function of optimizing learning memory allocation

ABSTRACT

A servo control system for controlling a plurality of axes of a machine tool, comprises: a plurality of servo control units for controlling the plurality of axes, respectively; a plurality of learning control units that are provided one each in the plurality of servo control units, and each configured to control a cyclic operation highly precisely; a common learning memory for storing correction data which at least a portion of the plurality of learning control units generates; a memory allocation unit for allocating at least a portion of a memory area in the learning memory to the axis that the learning control unit that generated the correction data controls; and a memory amount notifying unit for notifying the memory allocation unit as to the amount of memory that each of the plurality of learning control units of the respective axes requires.

RELATED APPLICATIONS

The present application claims priority to Japanese Patent ApplicationNumber 2015-152874, filed Jul. 31, 2015, the disclosure of which ishereby incorporated by reference herein in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a servo control system, and inparticular to a servo control system that is equipped with a learningcontrol apparatus which can optimize learning memory allocation.

2. Description of the Related Art

Learning control is known in which a servo control apparatus or acontrol system memorizes the relationship between a control method andits execution result and improves the control method based on thememorized result (for example, refer to Japanese Patent No. 4043996,hereinafter referred to as “patent document 1”). To implement suchlearning control, a memory used for learning must be secured. It isdisclosed in patent document 1 that a learning control unit includes aso-called learning memory which stores correction data for one cycle oflearning.

If there is no more than one axis to be controlled, one servo controlunit and one learning memory will suffice for the purpose. On the otherhand, if there is more than one axis to be controlled, one possiblesolution is to provide one learning memory for each of a plurality ofservo control units. However, if, in a servo control apparatus forcontrolling a plurality of axes, a dedicated memory is allocated to aservo control DSP (Digital Signal Processor) for each axis, there is theproblem that the cost increases correspondingly.

FIG. 1 shows a configuration example of a conventional art servo controlapparatus for controlling a plurality of axes. A number, n, of servocontrol units (111, 112, 113, . . . ) are provided in order to controlthe plurality of axes, and learning control units (121, 122, 123, . . .) and learning memories (131, 132, 133, . . . ) are provided, one eachfor each of the servo control units. Each learning memory is assumed tohave a capacity x equivalent to maximum learning time.

There can occur a situation where some of the axes are axes (standardaxes) for which learning control is not executed. In such a situation,the learning memories 132 and 133, for example, are not used forlearning, and all of their memory areas remain unused; hence, there is aproblem that the memories allocated to such axes are wasted.

Furthermore, the memory capacity necessary for learning varies dependingon the content of the learning. However, each learning memory must beprovided with a memory area sufficient to accommodate the maximumlearning time. However, in this case, as in the learning memory 131, allof the memory area may be used for a learning axis A, while as in thelearning memory 134, only a portion is used for a learning axis B andthe remaining area remains unused. Therefore, when one learning memoryis provided for each of the plurality of servo control units thatcontrol the plurality of axes, some of the memory areas remain unused,resulting in the problem that efficient use cannot be made of thelearning memories. There has also been the problem that it is notpossible to execute learning that takes longer than when the memory areaof each of the learning memories provided in the respective servocontrol units can be accommodated.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a servo controlsystem equipped with a learning control apparatus that can executelearning for an extended period of time by increasing the amount oflearning memory allocation per axis, while making it possible to reducethe entire learning memory capacity compared with the configuration inwhich one learning memory is provided for each axis.

A servo control system according to one embodiment of the presentinvention is a servo control system for controlling a plurality of axesof a machine tool or the like, and comprises: a plurality of servocontrol units for controlling the plurality of axes, respectively; aplurality of learning control units which being provided one each in theplurality of servo control units, and being each configured to control acyclic operation highly precisely; a common learning memory for storingcorrection data which at least a portion of the plurality of learningcontrol units generates; a memory allocation unit for allocating atleast a portion of a memory area in the learning memory to the axis thatthe learning control unit that generated the correction data controls;and a memory amount notifying unit for notifying the memory allocationunit as to the amount of memory that each of the plurality of learningcontrol units of the respective axes requires.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects, features, and advantages of the presentinvention will become more apparent from the description of thepreferred embodiments as set forth below with reference to theaccompanying drawings, wherein:

FIG. 1 is a diagram showing the configuration of a conventional artservo control system;

FIG. 2 is a diagram showing the configuration of a servo control systemaccording to a first embodiment of the present invention;

FIG. 3 is a diagram showing the configuration of a servo control systemaccording to a second embodiment of the present invention;

FIG. 4 is a diagram showing the configuration of a servo control systemaccording to a third embodiment of the present invention; and

FIG. 5 is a diagram showing the configuration of a servo control systemaccording to a fourth embodiment of the present invention.

DETAILED DESCRIPTION

A servo control system according to the present invention will bedescribed below with reference to the drawings.

First Embodiment

A servo control system according to a first embodiment of the presentinvention will be described. FIG. 2 shows the configuration of the servocontrol system according to the first embodiment of the presentinvention. The servo control system 101 according to the firstembodiment of the present invention is a servo control system forcontrolling a plurality of axes of a machine tool or the like, andcomprises a plurality of servo control units (11, 12, 13, . . . ), aplurality of learning control units (21, 22, 23, . . . ), a commonlearning memory 3, a memory allocation unit 4, and a memory amountnotifying unit 5. The plurality of servo control units (11, 12, 13, . .. ) control the plurality of axes, respectively. The plurality oflearning control units (21, 22, 23, . . . ) are provided one each in theplurality of servo control units, and are each configured to control acyclic operation highly precisely. The common learning memory 3 storescorrection data which at least a portion of the plurality of learningcontrol units generates. The memory allocation unit 4 allocates at leasta portion of a memory area in the learning memory to the axis that thelearning control unit that generated the correction data controls. Thememory amount notifying unit 5 notifies the memory allocation unit as tothe amount of memory that each of the plurality of learning controlunits of the respective axes requires.

The plurality of (for example, n) servo control units (11, 12, 13, . . .) control the respective axes. For example, the servo control unit 11controls a learning axis A, and the servo control unit 14 controls alearning axis B. A description will be given below by taking as anexample the case in which the axes that the servo control units 12 and13 control are standard axes for which learning control is not executed.

In the servo control unit 11, the learning control unit 21 executeslearning control for the learning axis A, and in the servo control unit14, the learning control unit 24 executes learning control for thelearning axis B. On the other hand, neither the learning control unit 22in the servo control unit 12 nor the learning control unit 23 in theservo control unit 13 executes learning control. Then, to executelearning control, the learning control units 21 and 24 need to generateand store correction data. In the present invention, rather thanproviding a storage unit for each individual learning control unit thatexecutes the learning control, the learning memory 3 is shared among theplurality of learning control units, and the correction data are storedin the learning memory 3.

The memory allocation unit 4 allocates at least a portion of the memoryarea in the learning memory 3 to each of the learning axes A and B thatthe learning control units 21 and 24 that generated the correction datacontrol. In the illustrated example, a memory area 3A as a portion ofthe learning memory 3 is allocated to the learning axis A, while amemory area 3B is allocated to the learning axis B.

When the capacity required of the conventional art learning memory isdenoted by x, the capacity of the learning memory 3 according to thepresent invention can be reduced to equal to or less than the capacity xmultiplied by the number n (x×n). This is because all the axes for whichlearning control is executed do not necessarily require a memorycapacity equivalent to maximum learning time, and because there are alsocases where some of the plurality of axes are standard axes for whichlearning is not executed. Furthermore, if there occurs an unused area 3Cin the remaining portion of the learning memory 3, the memory area forthe learning axis A can be increased beyond the conventional artcapacity x.

To enable the memory allocation unit 4 to allocate the memory areaswithin the learning memory 3 as described above, the memory amountnotifying unit 5 notifies the memory allocation unit 4 of how muchmemory each of the learning control units 21 and 24 that executelearning control requires, based on the configuration of the axes(learning axes) for which learning control is executed (for example, thelearning axes A and B) and on the learning period.

The memory allocation unit 4 implements optimum allocation of thelearning memory 3 in accordance with the notification from the memoryamount notifying unit 5, and notifies the memory amount notifying unit 5of how much memory is available for use. The learning control units 21and 24 execute learning control for the respective learning axes A and Bby using the respectively allocated memory areas 3A and 3B within thelearning memory 3.

If a situation occurs where the capacity of the learning memory 3 isinsufficient, the situation can be readily addressed by adding anexpansion memory 9 to the learning memory 3.

As has been described above, in the present invention, information about“which axis needs learning control” and “how much memory the learningaxis requires (how long is the learning period)” is acquired, and onlythe amount of memory required for the axis that needs learning isallocated in a flexible manner from the shared memory area. In this way,according to the present invention, the memory capacity can be reducedby ingeniously allocating the memory and avoiding wasteful memoryallocation.

Second Embodiment

A servo control system according to a second embodiment of the presentinvention will be described. FIG. 3 shows the configuration of the servocontrol system according to the second embodiment of the presentinvention. The servo control system 102 according to the secondembodiment of the present invention differs from the servo controlsystem 101 according to the first embodiment by the inclusion of amemory amount calculation unit 6 which calculates the amount of memoryallocatable to each axis, based on the capacity of the common learningmemory 3 and the required amount of memory for each axis notified by thememory amount notification unit 5, wherein the memory amountnotification unit 5 notifies the learning control unit of each axisrequiring the use of the learning memory 3 as to the amount of memorycalculated by the memory amount calculation unit 6. Otherwise, theconfiguration of the servo control system 102 according to the secondembodiment is the same as that of the servo control system 101 accordingto the first embodiment, and therefore, a detailed description of theconfiguration will not be repeated herein.

The memory amount calculation unit 6 can be provided, for example,within the memory allocation unit 4, as shown in FIG. 3. However, theconfiguration is not limited to the illustrated example, and the memoryamount calculation unit 6 may be provided outside the memory allocationunit 4.

The memory amount calculation unit 6 acquires information about thecapacity of the learning memory 3 from the learning memory 3 that isshared by the plurality of learning control units (21, 22, 23, . . . )provided in the plurality of servo control units (11, 12, 13, . . . )for driving the plurality of axes. Alternatively, the information may beacquired from an external system or the like that manages the memory.

The memory amount notification unit 5 computes the amount of memoryneeded to execute learning control in the plurality of learning controlunits (21, 22, 23, . . . ), and notifies the memory amount calculationunit 6. For example, consider the case where the learning control isexecuted for the learning axes A and B and the other axes are standardaxes for which learning control is not executed. In this case, thememory amount notification unit 5 notifies the memory amount calculationunit 6 as to the amount of memory that is needed for each axis in orderto store the correction data generated when learning control is executedfor the learning axes A and B, respectively.

The memory amount calculation unit 6 calculates the amount of memoryallocatable to each axis, based on the required amount of memory foreach axis notified by the memory amount notification unit 5. Forexample, when the total amount of memory required for the learningcontrol of the learning axes A and B does not exceed the capacity of thelearning memory 3, all the required memory is allocated in the learningmemory 3. For example, the correction data for the learning axis A canbe stored in the memory area 3A within the learning memory 3, while thecorrection data for the learning axis B can be stored in the memory area3B within the learning memory 3. If, in this case, there occurs anunused area 3C in the learning memory 3, the amount of memory largerthan the capacity x of the memory provided in each individual servocontrol unit of the conventional art can be allocated as the memory area3A for the learning axis A.

Furthermore, if the capacity of the learning memory 3 is insufficient,then it can be readily addressed by adding an expansion memory 9 to thelearning memory 3, as in the first embodiment.

As has been described above, according to the servo control system inthe second embodiment of the present invention, since the system furtherincludes the memory amount calculation unit 6, the amount of memoryrequired for each of the plurality of learning control units can beappropriately allocated in the learning memory. Further, each learningcontrol unit can properly recognize the remaining amount of memory basedon the notification from the memory amount calculation unit 6.

Third Embodiment

A servo control system according to a third embodiment of the presentinvention will be described. FIG. 4 shows the configuration of the servocontrol system according to the third embodiment of the presentinvention. The servo control system 103 according to the thirdembodiment of the present invention differs from the servo controlsystem 101 according to the first embodiment in that the plurality oflearning control units (21, 22, 23, . . . ) include variable samplingunits (71, 72, 73, . . . ), respectively, wherein each variable samplingunit adjusts the amount of correction data stored when executinglearning control, based on the amount of memory that a corresponding oneof the plurality of learning control units requires and on the amount ofmemory available for use in the learning memory 3. Otherwise, theconfiguration of the servo control system 103 according to the thirdembodiment is the same as that of the servo control system 101 accordingto the first embodiment, and therefore, a detailed description of theconfiguration will not be repeated herein.

A description will be given for the case where learning control isexecuted for the learning axes A, B, and D, as shown in FIG. 4. Thelearning control units 21, 24, and 25 that execute the learning controlof the learning axes A, B, and D, respectively, each notify the memoryamount notification unit 5 of the amount of memory required, and thememory allocation unit 4 allocates the necessary memory areas 3A, 3B,and 3D within the common learning memory 3.

It is assumed here that the total capacity of the memory areas 3A and 3Bnecessary for the learning control of the learning axes A and B issmaller than the total capacity of the learning memory 3, but that whenthe memory area 3D necessary for the learning control of the learningaxis D is added, the required total capacity exceeds the total capacityof the learning memory 3. More specifically, when the memory area 3Dnecessary for the learning control of the learning axis D is dividedinto 3D₁ and 3D₂, the total amount of the memory areas 3A, 3B, and 3D₁is equal to the storage capacity of the learning memory 3, and the totalamount of memory required exceeds the storage capacity of the learningmemory 3 by an amount equal to the memory area 3D₂.

The memory allocation unit 4 notifies the memory amount notificationunit 5 that the total amount of memory (3A+3B+3D) required for thelearning axes A, B, and D exceeds the amount of memory available for use(3A+3B+3D₁). More specifically, it is notified that the amount of memoryto be used for the learning control should, for example, be reduced inaccordance with a prescribed ratio α(=(3A+3B+3D₁)/(3A+3B+3D)).

The memory amount notification unit 5 notifies the learning controlunits 21, 24, and 25 responsible for the learning control of thelearning axes A, B, and D, respectively, that the amount of memoryrequested exceeds the amount of memory available for use in the learningmemory 3, or that the amount of memory requested should be reduced inaccordance with the prescribed ratio α. The variable sampling units 71,74, and 75 contained in the respective learning control units 21, 24,and 25 vary the sampling frequency so as to reduce the amount ofcorrection data required.

The memory amount notification unit 5 notifies the memory allocationunit 4 of the reduced amount of memory to be used by the learningcontrol units 21, 24, and 25. The memory allocation unit 4 allocates thereduced amount of memory after varying the sampling frequency as the newmemory areas 3A′, 3B′, and 3D′ for the learning axes A, B, and D so thatthe total amount of memory required does not exceed the capacity of thelearning memory 3.

The method of varying the sampling frequency is not limited to themethod of varying the sampling frequency so as to reduce the amount ofcorrection data in accordance with a fixed ratio for the plurality oflearning axes as described above. For example, the sampling frequencyfor each of the plurality of learning axes may be individually varied,or the sampling frequency only for a specified one of the learning axesmay be varied.

Even when the sampling frequency is varied, if the capacity of thelearning memory 3 is insufficient, it can be readily addressed by addingan expansion memory 9 to the learning memory 3, as in the firstembodiment.

As has been described above, according to the servo control system inthe third embodiment of the present invention, even when the amount ofmemory required for the learning control of the plurality of axesexceeds the capacity of the common learning memory, the learning controlcan be executed using the available capacity of the learning memory byvarying the sampling frequency.

Fourth Embodiment

A servo control system according to a fourth embodiment of the presentinvention will be described. FIG. 5 shows the configuration of the servocontrol system according to the fourth embodiment of the presentinvention. The servo control system 104 according to the fourthembodiment of the present invention differs from the servo controlsystem 101 according to the first embodiment in that the memory amountnotification unit 5 makes a notification about the amount of memorybased on information provided from a host control apparatus 8, anddynamically changes the memory allocation based on a notification thatthe amount of memory has been varied. Otherwise, the configuration ofthe servo control system 104 according to the fourth embodiment is thesame as that of the servo control system 101 according to the firstembodiment, and therefore, a detailed description of the configurationwill not be repeated herein.

In the servo control system 104 according to the fourth embodiment, theplurality of servo control units (11, 12, 13, . . . ) are connected tothe host control apparatus 8 via a bus line 20. The host controlapparatus 8 issues a command for controlling the plurality of servocontrol units. Depending on the content of the command, the content ofthe learning control of the respective axes may also be changed.Accordingly, the amount of memory required for the learning control ofthe respective axes may change depending on the information providedfrom the host control apparatus 8.

In that case, it is not desirable to interrupt the learning control ofthe respective axes to vary the amount of memory as the information fromthe host control apparatus 8 changes. In view of this, provisions aremade in the servo control system according to the fourth embodiment soas to dynamically change the memory allocation and secure the necessarymemory area while continuing to execute the learning control.

Suppose, for example, that during the process of the learning control ofthe learning axes A and B, the standard axis in the servo control unit12 is changed to a learning axis based on a command from the hostcontrol apparatus 8. In this case, it is assumed that, of the memoryareas in the learning memory 3, the memory areas 3A and 3B are used butthe memory area 3C remains unused. The memory allocation unit 4allocates a portion of the memory area 3C as a memory area that becomesnecessary when the standard axis in the servo control unit 12 is changedto a learning axis. In this way, the standard axis can be changed to alearning axis without incurring any changes in the memory areas 3A and3B and without interrupting the learning control of the learning axes Aand B.

As has been described above, according to the servo control system inthe fourth embodiment of the present invention, since the memoryallocation is dynamically changed based on the information provided fromthe host control apparatus, any change in the content of operationduring the learning control can be appropriately addressed as the changeoccurs.

According to any of the embodiments of the present invention, it ispossible to provide a servo control system equipped with a learningcontrol apparatus that can execute learning for an extended period oftime by increasing the amount of learning memory allocation per axis,while making it possible to reduce the entire learning memory capacitycompared with the configuration in which one learning memory is providedfor each axis.

The invention claimed is:
 1. A servo control system for controlling a plurality of axes of a machine tool, comprising: a plurality of servo control units for controlling the plurality of axes, respectively; a plurality of learning control units each being provided in one of the plurality of servo control units, and each being configured to control a cyclic operation highly precisely; a common learning memory for storing correction data generated by at least a portion of the plurality of learning control units; and a processor configured to allocate at least a portion of a memory area in the learning memory to the axis that the learning control unit that generated the correction data controls, and notify as to an amount of memory that each of the plurality of learning control units of the respective axes requires, wherein each of the plurality of learning control units comprises a variable sampling unit which is configured to: adjust an amount of the correction data stored in the common learning memory when executing learning control, based on the amount of memory, and vary a sampling frequency.
 2. The servo control system according to claim 1, wherein the processor is further configured to calculate the amount of memory allocatable to each axis, based on a capacity of the common learning memory and the required amount of memory for each axis, and notify the learning control unit of each axis requiring the use of the learning memory as to the amount of memory calculated by the processor.
 3. The servo control system according to claim 1, wherein each of the plurality of learning control units is configured to adjust the amount of correction data stored in the learning memory when executing the learning control, based on the amount of memory that the learning control unit requires and on the amount of memory available for use in the learning memory.
 4. The servo control system according to claim 1, wherein the processor is further configured to make a notification about the amount of memory based on information provided from a host control apparatus, and dynamically change memory allocation and secure necessary memory area, while the plurality of learning control units continuing to execute learning control, based on a notification that the amount of memory has been varied, and wherein the amount of memory required for the learning control of the respective axes changes depending on the information provided from the host control apparatus. 